在訓練模型的時候,有時候會發生訓練的損失(loss)無法隨著更多的迭代更新進一步降低,有可能就是來到了critical point。這邊所說的 critical point 表示該點可能是局部最小值,也有可能是鞍點。如果找到的是局部最小值就算了,若是找到的是鞍點(saddle point),就表示很有可能可以繼續找到最損失更小的點。
在這裡將損失用泰勒級數來逼近,可以推倒出判斷是否為鞍點的方法。(在這邊要補兩個坑,一個是泰勒級數的物理意義。另一個則是線性代數中,特徵值、特徵向量,正定與半正定的觀念。)
因此可以知道,最後模型找到的解是不是鞍點,如果是鞍點就表示可以找到更小的損失。但由於計算矩陣的特徵值與特徵向量不容易算。所以實際上不會使用這樣的方法來做。至於用甚麼方法來避免掉到 critical point。
在低維度空間中,有可能是局部最小,沒有更好的路可以走。但在高維的空間中,就有可能有較多的選擇可以走到更低的位置。而參數越多、維度越多,就有可能有更多的路可以走。
經由實驗得知,訓練時候所找到大多數的點(約50%以上),都是鞍點。因此用梯度下降方法所找到的點,其實有很大的可能可以找到損失更小的點。